#define  _CRT_SECURE_NO_WARNINGS 1

#include<iostream>
using namespace std;

#include<vector>
#include<list>
#include<deque>

#include "stack.h"
#include "queue.h"

void test_stack()
{
	lsg::stack<int, vector<int>> st1;
	st1.push(1);
	st1.push(2);
	st1.push(3);
	st1.push(4);
	st1.push(5);

	while (!st1.empty())
	{
		cout << st1.top() << " ";
		st1.pop();
	}
	cout << endl;

	lsg::stack<int, list<int>> st2;
	st2.push(1);
	st2.push(2);
	st2.push(3);
	st2.push(4);
	st2.push(5);

	while (!st2.empty())
	{
		cout << st2.top() << " ";
		st2.pop();
	}
	cout << endl;

}

void test_queue()
{
	//lsg::queue<int, vector<int>> pq;
	lsg::queue<int, list<int>> pq;
	pq.push(1);
	pq.push(2);
	pq.push(3);
	pq.push(4);
	pq.push(5);

	while (!pq.empty())
	{
		cout << pq.front() << " ";
		pq.pop();
	}
	cout << endl;
}

int main()
{
	//test_stack();
	test_queue();


	return 0;
}
